@echo off
REM 管理员权限检查
NET SESSION >nul 2>&1
if %errorLevel% neq 0 (
echo 错误：请以管理员身份运行此批处理文件。
pause
exit /b 1
)

REM 设置Maven安装目录
set "MAVEN_INSTALL_DIR=C:\Program Files\Apache\Maven"
set "MAVEN_VERSION=3.9.6"

REM 创建安装目录
mkdir "%MAVEN_INSTALL_DIR%" >nul 2>&1

REM 下载Maven
set "MAVEN_DOWNLOAD_URL=https://dlcdn.apache.org/maven/maven-3/%MAVEN_VERSION%/binaries/apache-maven-%MAVEN_VERSION%-bin.zip"
set "TEMP_ZIP=%TEMP%\apache-maven-%MAVEN_VERSION%-bin.zip"

echo 正在下载Maven %MAVEN_VERSION%...
powershell -Command "Invoke-WebRequest -Uri '%MAVEN_DOWNLOAD_URL%' -OutFile '%TEMP_ZIP%'"

if %errorlevel% neq 0 (
echo 下载失败，请检查网络连接或手动下载。
pause
exit /b 1
)

echo 下载完成，正在解压...

REM 解压Maven
powershell -Command "Expand-Archive -Path '%TEMP_ZIP%' -DestinationPath '%MAVEN_INSTALL_DIR%'"

if %errorlevel% neq 0 (
echo 解压失败，请手动解压Maven安装包。
pause
exit /b 1
)

REM 设置环境变量
setx M2_HOME "%MAVEN_INSTALL_DIR%\apache-maven-%MAVEN_VERSION%" /M
setx PATH "%%M2_HOME%%\bin;%PATH%" /M

if %errorlevel% neq 0 (
echo 警告：环境变量设置可能需要手动完成。
echo M2_HOME 应设置为：%MAVEN_INSTALL_DIR%\apache-maven-%MAVEN_VERSION%
echo 并将 %%M2_HOME%%\bin 添加到PATH环境变量中。
) else (
echo Maven环境变量设置成功。
)

REM 清理临时文件
del "%TEMP_ZIP%" >nul 2>&1

echo Maven %MAVEN_VERSION% 安装完成！
echo 请打开新的命令提示符窗口，然后运行 'mvn -version' 来验证安装。
pause